home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / sat / msat09.tgz / BROADCAS.H < prev    next >
Text File  |  1994-09-17  |  3KB  |  92 lines

  1. /*
  2.  * broadcast.h
  3.  *
  4.  * broadcats protocol structures and defines
  5.  *
  6.  */
  7.  
  8. typedef struct
  9. {
  10.     int CRCError;
  11.     int VersionError;
  12. } BROADCASTSTATS;
  13.  
  14. /* protocol ids */
  15. #define NOPROTOCOL         0xF0
  16. #define BROADCASTFILE      0xBB
  17. #define BROADCASTDIRECTORY 0xBD
  18.  
  19. #define VERSION      0
  20. #define VERSIONMASK  0x0C
  21.  
  22. typedef struct HOLESTRUCT
  23. {
  24.   struct HOLESTRUCT * pPrev;
  25.   struct HOLESTRUCT * pNext;
  26.   unsigned long start;
  27.   unsigned long finish;
  28. } HOLE;
  29. typedef HOLE * LPHOLE;
  30.  
  31. typedef struct BCFILESTRUCT
  32. {
  33.   struct BCFILESTRUCT *   pPrev;
  34.   struct BCFILESTRUCT *   pNext;
  35.   unsigned long     fileId;
  36.   int     bHeaderReceived;
  37.   unsigned long   fileSize;
  38.   unsigned long   fileReceived;
  39.   int      nHoles;
  40.   LPHOLE   pFirstHole;
  41.   int hFile;
  42. } BCFILE;
  43. typedef BCFILE * LPBCFILE;
  44.  
  45. typedef struct
  46.   {
  47.   /* required Header Information */
  48.   unsigned long fileId;              /* 0x01 */
  49.   char          fileName[9];         /* 0x02 */
  50.   char          fileExt[4];          /* 0x03 */
  51.   unsigned long fileSize;            /* 0x04 */
  52.   unsigned long createTime;          /* 0x05 */
  53.   unsigned long modifiedTime;        /* 0x06 */
  54.   unsigned char SEUflag;             /* 0x07 */
  55.   unsigned char fileType;            /* 0x08 */
  56.   unsigned int  bodyCRC;             /* 0x09 */
  57.   unsigned int  headerCRC;           /* 0x0A */
  58.   unsigned int  bodyOffset;          /* 0x0B */
  59.  
  60.   /* Extended Header Information */
  61.   char          source[33];          /* 0x10 */
  62.   char          uploader[7];         /* 0x11 */
  63.   unsigned long uploadTime;          /* 0x12 */
  64.   unsigned char downloadCount;       /* 0x13 */
  65.   char          destination[33];     /* 0x14 */
  66.   char          downloader[7];       /* 0x15 */
  67.   unsigned long downloadTime;        /* 0x16 */
  68.   unsigned long expireTime;          /* 0x17 */
  69.   unsigned char priority;            /* 0x18 */
  70.   unsigned char compression;         /* 0x19 */
  71.   char          BBSMessageType;      /* 0x20 */
  72.   char          BID[33];             /* 0x21 */
  73.   char          title[33];           /* 0x22 */
  74.   char          keyWords[33];        /* 0x23 */
  75.   char          description[33];     /* 0x24 */
  76.   char          compressionDesc[33]; /* 0x25 */
  77.   char          userFileName[33];    /* 0x26 */
  78.   } FILEHEADER;
  79.  
  80. typedef FILEHEADER * LPFILEHEADER;
  81.  
  82. void BroadcastFrame( unsigned char PID, char * ax5Frame, int dataOffset, int nFrame );
  83. void BroadcastFile( char * ax5Frame, int dataOffset, int nFrame );
  84. LPBCFILE FindFile( int fileId );
  85. void LoadHoleFile( int hHoleFile, LPBCFILE pFile );
  86. void FillFileHole( LPBCFILE pFile, char * ax25Frame, int start, int finish, int dataOffset );
  87. int GetFileLength( char * pHeader, int nHeader );
  88. void SaveBroadcastFiles( void );
  89. void BroadcastDirectory( char * ax25Frame, int dataOffset, int nFrame );
  90. int CheckCRC( char * pFrame, int nFrame );
  91.  
  92.